/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package svnteste;

import java.util.ArrayList;
import java.util.Hashtable;

/**
 *
 * @author joao
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        //// TODO Cada um de vocês fará uma modificação específica neste arquivo
	//Isto simulará o trabalho colaborativo que vocês terão (até de uma maneira conflituosa, já que este exemplo trata de modificações no mesmo arquivo)
        //A idéia aqui não é, fundamentalmente, saber o que vocês sabem de Java e sim pedir a vocês que insiram funcionalidades (bobas) dependentes ou não umas das outras
	//para que se ambientalizem com a mecânica e os comandos do SVN e também dos eventuais conflitos de código
        //Bom, este exemplo nada mais é do que extrair logins e hosts dos emails abaixo e exibi-los. Mais abaixo segue as funções que cada um deverá implementar

        //IMPORTANTE!! ---> Lembrem-se de realizar o UPDATE no projeto, para evitar que conflitos sejam enviados ao repositório, e depois
        //limpem o projeto antes do commit, para nao enviar .class e outros "lixos"

        String foo = "raquel.aa@gmail.com, yurisalmeida@gmail.com, jpalmeida.uefs@gmail.com, douglaseusilva@gmail.com, bruno_paan@hotmail.com, ,chaustaluz@hotmail.com";

	ArrayList<String> separatedEmails = splitOut(foo);
	ArrayList<String> logins = extractLogins(separatedEmails);
	ArrayList<String> hosts = extractHosts(separatedEmails);
	Hashtable<String,String> indexedHosts = correlateHosts(hosts);
	formattedOut(logins,indexedHosts);
    }

    //Esse método somente separará os emails (sem vírgulas) em strigs individuais e as armazenará em um arraylist de strings
    //formato: login@host.com
    //TODO Responsável:
    private static ArrayList<String> splitOut(String foo){
    }

    //Este método extrairá da lista de emails os logins de cada email e os armazenará em outro arraylist de strings
    //TODO Responsável:
    private static ArrayList<String> extractLogins(ArrayList<String> emails) {
    }

    //Este método extrairá da lista de emails os hosts de cada email e os armazenará em outro arraylist de strings
    //formato: host (sem o ".com")
    //TODO Responsável:
    private static ArrayList<String> extractHosts(ArrayList<String> emails) {
    }

    //Este método correlacionará os hosts extraídos com as respectivas urls destes host (podem inserir as urls manualmente mesmo :) )
    //formato (na hashtable): host,url ex: hotmail,www.hotmail.com
    //TODO Responsável:
    private static Hashtable<String,String> correlateHosts(ArrayList<String> hosts) {
    }

    //E este método somente exibirá as informações extraídas anteriormente no formato:
    //Login:login  host: host	link: url
    //TODO Responsável:
    private static void formattedOut(ArrayList<String> logins, Hashtable<String,String> indexedHosts) {
    }
}
